import App from './App'
import i18n from './lang/i18n'
import fui from './common/fui-app'
import fuiConfig from './components/firstui/fui-config'


//全局组件配置
uni.$fui = fuiConfig
//兼容nvue
uni.fui = fui

// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
Vue.prototype.fui = fui
App.mpType = 'app'
const app = new Vue({
	i18n,
	...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import pinia from "./store"
import "@/config/config.js"
const api = uniCloud.importObject('qc-marketing', { customUI: true })
// main.js，注意要在use方法之后执行
export function createApp() {
	const app = createSSRApp(App)
	// 屏蔽警告信息
	app.config.warnHandler = () => null;
	// 全局组件自动注册基础组件（注意:如果需要类型推论的 需要手动引入，否则直接使用）暂时无用
	const componentsContext = import.meta.globEager("./components/*/*.vue");
	for (const key in componentsContext) {
		const name = componentsContext[key].default?.name;
		name && app.component(name, componentsContext[key].default);
	}

	// 云对象统一的错误拦截
	// uniCloud.interceptObject({
	// 	invoke(res) {},
	// 	success(res) {
	// 		const { result } = res
	// 		if (result.errCode !== 0) {
	// 			throw new Error(result.errMsg)
	// 		}
	// 	}
	// })
	app.use(pinia).use(i18n)
	return { app }
}
// #endif